"""
数据容器有多种  列表 元组 字符串 集合 字典
各有特点和函数操作
另外它们有通用的一些函数操作
"""
列表_list = [1, 2, 3, 4, 5]
元组_tuple =(1, 2, 3, 4, 5)
字符串_str = "a9bc新def"
集合_set = {1, 2, 3, 4, 5}
字典_dict = {"密钥1": 1, "密钥2": 2, "密钥3": 3, "密钥4": 4, "密钥5": 5}

# 特别声明 以下所有的操作 都是可以存储到另一个变量里,原变量类型和数据都是不变的. 这里为了简便没有赋值操作而已
#  统计 最大 最小 转换类型 排序  都是

# 统计元素个数
print(f'列表_list 有元素个数:{len(列表_list)}')
print(f'元组_tuple 有元素个数:{len(元组_tuple)}')
print(f'字符串_str 有元素个数:{len(字符串_str)}')
print(f'集合_set  有元素个数:{len(集合_set )}')
print(f'字典_dict 有元素个数:{len(字典_dict)}')
print()

# 找最大的元素  max() 函数
print(f'列表_list 最大的元素是:{max(列表_list)}')
print(f'元组_tuple 最大的元素是:{max(元组_tuple)}')
print(f'字符串_str 最大的元素是:{max(字符串_str)}')
print(f'集合_set  最大的元素是:{max(集合_set )}')
print(f'字典_dict 最大的元素是:{max(字典_dict)}')
print()

# 找最小的元素  min() 函数
print(f'列表_list 最小的元素是:{min(列表_list)}')
print(f'元组_tuple 最小的元素是:{min(元组_tuple)}')
print(f'字符串_str 最小的元素是:{min(字符串_str)}')
print(f'集合_set  最小的元素是:{min(集合_set )}')
print(f'字典_dict 最小的元素是:{min(字典_dict)}')
print()

# 数据之间可以互相转换类型  这里特别注意互相转换以后的元素的值是上面


# 转换成 列表 list()
print(f'列表_list 转换成列表是:{list(列表_list)}')
print(f'元组_tuple 转换成列表是:{list(元组_tuple)}')
print(f'字符串_str 转换成列表是:{list(字符串_str)}')
print(f'集合_set  转换成列表是:{list(集合_set )}')
print(f'字典_dict 转换成列表是:{list(字典_dict)}')
print()

# 转换成 元组 tuple()
print(f'列表_list 转换成元组是:{tuple(列表_list)}')
print(f'元组_tuple 转换成元组是:{tuple(元组_tuple)}')
print(f'字符串_str 转换成元组是:{tuple(字符串_str)}')
print(f'集合_set  转换成元组是:{tuple(集合_set )}')
print(f'字典_dict 转换成元组是:{tuple(字典_dict)}')
print()

# 转换成 字符串 str()
print(f'列表_list 转换成字符串是:{str(列表_list)}')    # 相当于"[1, 2, 3, 4, 5]" 最外面加了双引号
print(f'元组_tuple 转换成字符串是:{str(元组_tuple)}')                        # 其他的也一样
print(f'字符串_str 转换成字符串是:{str(字符串_str)}')
print(f'集合_set  转换成字符串是:{str(集合_set )}')
print(f'字典_dict 转换成字符串是:{str(字典_dict)}')
print()

# 转换成 集合 set()
print(f'列表_list 转换成集合是:{set(列表_list)}')
print(f'元组_tuple 转换成集合是:{set(元组_tuple)}')
print(f'字符串_str 转换成集合是:{set(字符串_str)}')
print(f'集合_set  转换成集合是:{set(集合_set )}')
print(f'字典_dict 转换成集合是:{set(字典_dict)}')
print()

# 排序 sorted() 正向排序和反向排序
列表_list = [2, 1, 5, 3, 4]
元组_tuple =(2, 1, 5, 3, 4)
字符串_str = "a9 bc新def"
集合_set = {2, 1, 5, 3, 4}
字典_dict = {"密钥2": 1, "密钥1": 2, "密钥5": 3, "密钥3": 4, "密钥4": 5}
# 排序成数据类型是 列表类型
print(f'列表_list 排序以后是:{sorted(列表_list)}')
print(f'元组_tuple 排序以后是:{sorted(元组_tuple)}')
print(f'字符串_str 排序以后是:{sorted(字符串_str)}')
print(f'集合_set  排序以后是:{sorted(集合_set )}')
print(f'字典_dict 排序以后是:{sorted(字典_dict)}')
print()

print(f'列表_list 反向排序以后是:{sorted(列表_list, reverse=True)}')
print(f'元组_tuple 反向排序以后是:{sorted(元组_tuple, reverse=True)}')
print(f'字符串_str 反向排序以后是:{sorted(字符串_str, reverse=True)}')
print(f'集合_set  反向排序以后是:{sorted(集合_set, reverse=True)}')
print(f'字典_dict 反向排序以后是:{sorted(字典_dict, reverse=True)}')
print()
